package com.powernode.service;

import com.github.pagehelper.PageInfo;
import com.powernode.domain.Clue;
import com.powernode.vo.ClueVo;
import com.powernode.vo.PieData;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

public interface ClueService {

    /**
     * 分页查询线索列表
     * @param current
     * @param size
     * @return
     */
    PageInfo<ClueVo> queryClueListByPage(Integer current, Integer size);

    /**
     * 新增线索
     * @param clue
     * @return
     */
    Boolean saveClue(Clue clue);

    /**
     * 根据标识查询线索信息
     * @param clueId
     * @return
     */
    Clue queryClueInfoById(Integer clueId);

    /**
     * 编辑线索内容
     * @param clue
     * @return
     */
    Boolean modifyClue(Clue clue);

    /**
     * 批量导入线索
     * @param file
     */
    void batchSaveClue(MultipartFile file) throws IOException;

    /**
     * 删除单个线索
     * @param clueId
     * @return
     */
    Boolean removeClueById(Integer clueId);

    /**
     * 批量删除线索
     * @param ids
     * @return
     */
    Boolean removeClueByIds(List<Integer> ids);

    /**
     * 根据表示查询线索详情
     * @param id
     * @return
     */
    ClueVo queryClueDetailInfoById(Integer id);

    /**
     * 查询线索跟踪饼图数据
     * @return
     */
    List<PieData> queryNotewayList();

    Boolean transferToCustomer(Integer clueId);
}
